using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Collections.Generic;
using System.Collections;
/// <summary>
/// Summary description for DataInputStream
/// @author eespinoza
/// </summary>
/// 
using J2ME.RMS;
using Java.binario.bean;

namespace Java.binario.rms
{

public class RMSRutaPorCodigo : GestorRMS {
    

    private RutaPorCodigoBean RutaPorCodigo = new RutaPorCodigoBean(); 


    public RMSRutaPorCodigo()
        :
        base("INDXCODRUTA")
    {
        
    }

    protected override Persistente createObjectBean()
    {
        return RutaPorCodigo;
    }


    public void grabarRutaPorCodigo(DataOutputStream data, List<RutaPorCodigoBean> objectStack)
    {
        try {
            abrirRS();
            
            Object obj;
            RutaPorCodigoBean bean;

            List<Persistente> lista = new List<Persistente>();
            //mientras haya datos en la pila
            for (int i = 0; i < objectStack.Count; i++)
            {

                bean = (RutaPorCodigoBean)objectStack[i];
                if (i % 25 == 0 && (lista.Count > 0))
                {
                    guardar(lista);
                    lista.Clear();
                     
                }
                lista.Add(bean);
            
                
                
            }

            if ((lista.Count > 0))
            {
                guardar(lista);
                lista.Clear();
             
            }
            
            lista = null;

            ////////////////////////////////////////////////////////////////////////////
            ////////////////////////////////////////////////////////////////////////////
            ////////////////////////////////////////////////////////////////////////////

            byte[] bytes = this.getDataByte();

            data.writeString(this.storeName);
            data.writeInt(bytes.Length);
            data.write(bytes);

            ////////////////////////////////////////////////////////////////////////////
            ////////////////////////////////////////////////////////////////////////////
            ////////////////////////////////////////////////////////////////////////////
            
        } finally {
            
            cerrarRS();
        }
    }
    
     
    }
    
}
